home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_Tix.idb / usr / freeware / lib / tix4.1 / demos / samples / PanedWin.tcl.z / PanedWin.tcl
Encoding:
Text File  |  1999-01-26  |  4.0 KB  |  109 lines

  1. # Tix Demostration Program
  2. #
  3. # This sample program is structured in such a way so that it can be
  4. # executed from the Tix demo program "widget": it must have a
  5. # procedure called "RunSample". It should also have the "if" statment
  6. # at the end of this file so that it can be run as a standalone
  7. # program using tixwish.
  8.  
  9. # This file demonstrates the use of the tixPanedWindow widget. This program
  10. # is a dummy news reader: the user can adjust the sizes of the list
  11. # of artical names and the size of the text widget that shows the body
  12. # of the artical
  13. #
  14.  
  15. proc RunSample {w} {
  16.  
  17.     # We create the frame at the top of the dialog box
  18.     #
  19.     frame $w.top -relief raised -bd 1
  20.  
  21.     # Use a LabelEntry widget to show the name of the newsgroup
  22.     # [Hint] We disable the entry widget so that the user can't
  23.     # mess up with the name of the newsgroup
  24.     #
  25.     tixLabelEntry $w.top.name -label "Newsgroup: " -options {
  26.     entry.width 25
  27.     }
  28.     $w.top.name subwidget entry insert 0 "comp.lang.tcl"
  29.     $w.top.name subwidget entry config -state disabled
  30.  
  31.     pack $w.top.name -side top -anchor c -fill x -padx 14 -pady 6
  32.     # Now use a PanedWindow to contain the list and text widgets
  33.     #
  34.     tixPanedWindow $w.top.pane -paneborderwidth 0 -separatorbg gray50
  35.     pack $w.top.pane -side top -expand yes -fill both -padx 10 -pady 10
  36.  
  37.     set p1 [$w.top.pane add list -min 70 -size 100]
  38.     set p2 [$w.top.pane add text -min 70]
  39.  
  40.     tixScrolledListBox $p1.list
  41.     $p1.list subwidget listbox config -font [tix option get fixed_font]
  42.  
  43.     tixScrolledText    $p2.text
  44.     $p2.text subwidget text    config -font [tix option get fixed_font]
  45.  
  46.     pack $p1.list -expand yes -fill both -padx 4 -pady 6
  47.     pack $p2.text -expand yes -fill both -padx 4 -pady 6
  48.  
  49.     # Use a ButtonBox to hold the buttons.
  50.     #
  51.     tixButtonBox $w.box -orientation horizontal
  52.     $w.box add ok     -text Ok     -underline 0 -command "destroy $w" \
  53.     -width 8
  54.     $w.box add cancel -text Cancel -underline 0 -command "destroy $w" \
  55.     -width 8
  56.  
  57.     pack $w.box -side bottom -fill x
  58.     pack $w.top -side top -fill both -expand yes
  59.  
  60.     # Put the junk inside the listbox and the tetx widget
  61.     #
  62.     $p1.list subwidget listbox insert end \
  63.     "  12324 Re: TK is good for your health" \
  64.     "+ 12325 Re: TK is good for your health" \
  65.     "+ 12326 Re: Tix is even better for your health (Was: TK is good...)" \
  66.     "  12327 Re: Tix is even better for your health (Was: TK is good...)" \
  67.     "+ 12328 Re: Tix is even better for your health (Was: TK is good...)" \
  68.     "  12329 Re: Tix is even better for your health (Was: TK is good...)" \
  69.     "+ 12330 Re: Tix is even better for your health (Was: TK is good...)"
  70.  
  71.     $p2.text subwidget text config -wrap none -bg \
  72.     [$p1.list subwidget listbox cget -bg]
  73.     $p2.text subwidget text insert end {
  74. Mon, 19 Jun 1995 11:39:52        comp.lang.tcl              Thread   34 of  220
  75. Lines 353       A new way to put text and bitmaps together iNo responses
  76. ioi@blue.seas.upenn.edu                Ioi K. Lam at University of Pennsylvania
  77.  
  78. Hi,
  79.  
  80. I have implemented a new image type called "compound". It allows you
  81. to glue together a bunch of bitmaps, images and text strings together
  82. to form a bigger image. Then you can use this image with widgets that
  83. support the -image option. This way you can display very fancy stuffs
  84. in your GUI. For example, you can display a text string string
  85. together with a bitmap, at the same time, inside a TK button widget. A
  86. screenshot of compound images can be found at the bottom of this page:
  87.  
  88.         http://www.cis.upenn.edu/~ioi/tix/screenshot.html
  89.  
  90. You can also you is in other places such as putting fancy bitmap+text
  91. in menus, tabs of tixNoteBook widgets, etc. This feature will be
  92. included in the next release of Tix (4.0b1). Count on it to make jazzy
  93. interfaces!}
  94.  
  95. }
  96.  
  97.  
  98. # This "if" statement makes it possible to run this script file inside or
  99. # outside of the main demo program "widget".
  100. #
  101. if {![info exists tix_demo_running]} {
  102.     wm withdraw .
  103.     set w .demo
  104.     toplevel $w
  105.     RunSample $w
  106.     bind $w <Destroy> {if {"%W" == ".demo"} exit}
  107. }
  108.  
  109.